package com.hrcx.mystery.pojo;

import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 开箱记录
 *
 * @author LinXiPeng
 * @TableName eb_mystery_out_of_record
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "开箱记录", description = "暂无描述")
public class EbMysteryOutOfRecord implements Serializable {
    public EbMysteryOutOfRecord(@NotNull(message = "[用户编号]不能为空") Integer uid,
                                @NotNull(message = "[奖品扩展编号]不能为空") Integer epid,
                                @NotNull(message = "[开盒时间]不能为空") Date opentime,
                                @NotNull(message = "[状态 0：待提货 1：已发货 2：已完成 3：已合成 4：已回收]不能为空") Integer status) {
        this.uid = uid;
        this.epid = epid;
        this.opentime = opentime;
        this.status = status;
    }

    private static final long serialVersionUID = -2142501865918372682L;
    /**
     * 记录编号
     */
    @NotNull(message = "[记录编号]不能为空")
    @ApiModelProperty("记录编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户编号
     */
    @NotNull(message = "[用户编号]不能为空")
    @ApiModelProperty("用户编号")
    private Integer uid;
    /**
     * 奖品扩展编号
     */
    @NotNull(message = "[奖品扩展编号]不能为空")
    @ApiModelProperty("奖品编号")
    private Integer epid;
    /**
     * 开盒时间
     */
    @NotNull(message = "[开盒时间]不能为空")
    @ApiModelProperty("开盒时间")
    private Date opentime;
    /**
     * 状态 0：待提货 1：已发货 2：已完成 3：已合成 4：已回收
     */
    @NotNull(message = "[状态 0：待提货 1：已发货 2：已完成 3：已合成 4：已回收]不能为空")
    @ApiModelProperty("状态 0：待提货 1：已发货 2：已完成 3：已合成 4：已回收 5:寄售中")
    private Integer status;
}
